#ifndef OUTCAPISALDI_H
#define OUTCAPISALDI_H

#include "abstractmodule.h"

class OutCapisaldi:
        virtual public AbstractModule
{
public:
    OutCapisaldi();
    ~OutCapisaldi();

    /***********************************************************/
    /*           MINIMA INTERFACCIA PER IL MODULO              */
    /***********************************************************/
    // Overridding for [FileBased]
    virtual ExaFileErr fileSave (const string& file_name) const;
    virtual ExaFileErr fileOpen (const string& file_name);
    virtual ExaFileObj  fileObj ( void ) const;

    // Overridding of [AbstractModule]
    virtual void    resetModule ( void );
    virtual void    save ( void );
    virtual void restore ( void );
    virtual ExaModuleObj getModuleDat ( void ) const;

    // Overridding of [DlgBased]
    // virtual  int   dlgExec ( void );
    /***********************************************************/

protected:
    /***********************************************************/
    /*           MINIMA INTERFACCIA PER IL MODULO              */
    /***********************************************************/
    // overridding of [AbstractDat]
    virtual bool    installDat ( void ); // = 0;
    virtual bool  uninstallDat ( void ); // = 0;
    /***********************************************************/

private:
    /***********************************************************/
    /*           MINIMA INTERFACCIA PER IL MODULO              */
    /***********************************************************/
    static        int  m_jet_created; // for [AbstractDat]
    static ExaFileObj  m_file_obj;    // for [FileBased]
              QDialog *m_ui;          // for [DlgBased]
    /***********************************************************/

};

#endif // OUTCAPISALDI_H
